const Router = require("@koa/router");
const { articles, users, ObjectId } = require("../models/mongo");
const router = new Router({
    prefix: "/api",
});

// 自定义中间件
const { verifyToken } = require("../middleware/verity");

// 获取post的body
const { bodyParser } = require("@koa/bodyparser");

router.get("/index", async (ctx) => {
    const { page = 1, pageSize = 10 } = ctx.query;
    const total = await articles.countDocuments();
    const list = await articles
        .find()
        .skip((page - 1) * pageSize)
        .limit(pageSize * 1)
        .sort({ _id: -1 })
        .toArray();
    ctx.body = {
        code: 200,
        message: "success",
        total,
        page,
        pageSize,
        list,
    };
});


// 如果默认使用bodyParser  json  urlencode都可以 不能获取form-data形式的数据

// bodyParser({ enableTypes: ["json"] })  json
// bodyParser({ enableTypes: ["form"] })  form
// 只能接受 URLencode的形式
router.post("/post", bodyParser({ enableTypes: ["form"] }), async (ctx) => {
    console.log("post接收", JSON.stringify(ctx.request.body));
    // * 允许所有的网站跨域请求
    ctx.set("Access-Control-Allow-Origin", "*");
    ctx.body = { name: "mark post", age: 17 };
});

// 只能接受 json的形式
// router.post("/post", bodyParser({ enableTypes: ["json"] }), async (ctx) => {
//     console.log("post接收", JSON.stringify(ctx.request.body));
//     ctx.set("Access-Control-Allow-Origin", "*");
//     ctx.body = { name: "mark post", age: 17 };
// });

router.get("/get", async (ctx) => {
    // ctx.set("Access-Control-Allow-Origin", "*");
    ctx.body = { name: "nick", age: 17 };
});

// 差传二进制文件

module.exports = router;
